const mixins ={
  methods: {
    handleInput(value, key) {
        this.formData[key] = this.formatInput(value);
      },
  
      formatInput(value) {
        // 过滤非数字和小数点
        let cleaned = value.replace(/[^\d.]/g, "");
        // 分割整数和小数部分
        let parts = cleaned.split(".");
        let integerPart = parts[0] || "";
        let decimalPart = parts.length > 1 ? parts.slice(1).join("") : "";
        // 小数部分处理：去除多余小数点并保留一位
        decimalPart = decimalPart.replace(/\./g, "").substring(0, 1);
  
        // 处理整数部分前导零
        if (integerPart) {
          integerPart = integerPart.replace(/^0+/, "") || "0"; // 避免全零导致空值
        }
  
        // 组合新值
        let newValue =
          parts.length > 1 ? `${integerPart}.${decimalPart}` : integerPart;
  
        // 处理以小数点开头的情况（如 ".5" -> "0.5"）
        if (cleaned.startsWith(".") || newValue.startsWith(".")) {
          newValue = `0${newValue}`;
        }
  
        // 再次检查并确保没有多余的小数点
        const finalParts = newValue.split(".");
        if (finalParts.length > 2) {
          newValue = `${finalParts[0]}.${finalParts[1]}`;
        }
  
        return newValue;
      },
  },
}

export default mixins